package com.wzh.project.webservice.client;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

import org.codehaus.xfire.client.Client;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import com.wzh.project.common.bean.BaseReqBean;
import com.wzh.project.common.bean.BaseResBean;
import com.wzh.project.webservice.util.SoapWsUtil;

/**
 * webservice调用方
 * @author wzh
 *
 */
public class TestClient {
	//TODO 参数传递不过去
	public static void main(String[] args) throws MalformedURLException, Exception {
//		String address ="http://127.0.0.1:9527/webservice/hello";
//		address="http://172.16.0.168:7101/gt3aipservice/Gt3AipWebService";
//		Client client =new Client(new URL(address+"?wsdl"));
//		String token="10002";//设置token
//		String api_name="esb_hw_wzhtest_call_service";//需要调用的服务名
//		String tran_seq= "123344455";//流水id
//		String biz_Json= "{\"xm\":\"测试\",\"sfzjhm\":\"350102199111111435\",\"sfzjlxDm\":\"201\",\"gjhdqDm\":\"201\",\"swjgDm\":\"14400000000\",\"zpnr\":\"12\",\"zjznr\":\"12\"}";//业务参数
//		Object[] result=client.invoke("sendBaseXMLEsbWebService", new Object[] {biz_Json});
//		System.out.println(result);
//		sendBaseXML();
		System.out.println("start=====SOAP");
		sendSOAPXML();
		System.out.println("end========SOAP");
		System.out.println("start=====XFIRE");
		sendXfileXML();
		System.out.println("end========XFIRE");
//		sendXML1();
//		sendXML2();
//		sendXML3();
//		sendXML();
//		sendXML22();
	}
	
	//调用标准的一个参数的webservice接口
	public static void sendXML22() throws Exception{
		String address ="http://127.0.0.1:6004/IBaseEsbWebService";
		Client client =new Client(new URL(address+"?wsdl"));
		Object[] objs = client.invoke("sendBaseXMLEsbWebService", new Object[] {"xmlxmlxlxmxlxmlx"});
		if(objs!=null) {
			System.out.println(objs[0].toString());
		}
		System.out.println("end");
	}
	
	
	private static void sendSOAPXML() throws Exception{
		String wsdlUrl="http://10.23.11.248:10080/SVNMWebService/services/pdfService?wsdl";
		SoapWsUtil soapWsUtil=new SoapWsUtil(wsdlUrl);
//		//String result=soapWsUtil.callWsdlResultXml(getXmlInfo(null));
		String result=soapWsUtil.callWsdlResultXml(getXml2());
		System.out.println(result);
	}
	/**
	 * 使用xfire进行调用
	 * @throws MalformedURLException
	 * @throws Exception
	 */
	private static void sendXfileXML() throws MalformedURLException, Exception {
		Client client = new Client(new URL("http://10.23.11.248:10080/SVNMWebService/services/pdfService?wsdl"));
		String xmlStirng=getXml2();
		Object[] results = client.invoke("signTheFirstKeyWordByTaxpayersNum", new Object[] {xmlStirng});
		Object obj=results[0];
//		DocumentImpl d;
		Document d=(Document)obj;
		Element e = d.getDocumentElement();
//		String result = e.getTextContent();
//		System.out.println(obj.getClass().getName()+"=="+result);
//		Map<String,String> map=new TransformByMatchcharacters().xmls2Map(obj);
//		System.out.println(map.toString());
	}
	
	private static String getXml2() {
		String xml="<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Body><signTheFirstKeyWordByTaxpayersNum><fileData>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cGUgL1BhZ2VzL0NvdW50IDEvS2lkc1s0IDAgUiBdPj4NCmVuZG9iag0KMTIgMCBvYmoNCjw8L1R5cGUgL0ZvbnQvU3VidHlwZSAvVHlwZTAvRW5jb2RpbmcgL0lkZW50aXR5LUgvQmFzZUZvbnQgL0ZBQUFCQytGYW5nU29uZ19HQjIzMTIvRGVzY2VuZGFudEZvbnRzIFsxMyAwIFJdL1RvVW5pY29kZSAxNSAwIFI+Pg0KZW5kb2JqDQoxMyAwIG9iag0KPDwvVHlwZSAvRm9udC9TdWJ0eXBlIC9DSURGb250VHlwZTIvQmFzZUZvbnQgL0ZBQUFCQytGYW5nU29uZ19HQjIzMTIvQ0lEVG9HSURNYXAgL0lkZW50aXR5L0ZvbnREZXNjcmlwdG9yIDE0IDAgUi9EVyAxMDAwL1cgWzFbNTAwXTJbNTAwXTlbNTAwXTEwWzUwMF0xMls1MDBdMTNbNTAwXTI2WzUwMF00NFs1MDBdNTdbNTAwXTYzWzUwMF02OVs1MDBdMTA5WzUwMF0xMzJbNTAwXTEzNls1MDBdMTY2WzUwMF1dL0NJRFN5c3RlbUluZm8gPDwvT3JkZXJpbmcoSWRlbnRpdHkpL1JlZ2lzdHJ5KEFkb2JlKS9TdXBwbGVtZW50IDA+Pj4+DQplbmRvYmoNCjE0IDAgb2JqDQo8PC9UeXBlIC9Gb250RGVzY3JpcHRvci9Gb250TmFtZSAvRkFBQUJDK0ZhbmdTb25nX0dCMjMxMi9TdGVtViA4MC9EZXNjZW50IC0xNDEvQXNjZW50IDg1OS9DYXBIZWlnaHQgMC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0ZvbnRCQm94IFswIC0xNDEgOTk2IDg1NV0vRm9udEZpbGUyIDExIDAgUj4+DQplbmRvYmoNCjE1IDAgb2JqDQo8PC9MZW5ndGggMjEgMCBSL0ZpbHRlciAvRmxhdGVEZWNvZGU+PnN0cmVhbQ0KeJxdVstuIzkMvBvwP/Rx5jBw6y0BjQak7haQwz6wmf0Ax+5kDUxsw3EO+fslKdJYbA4JKi2JLLJY0m56mp/Op3u3+/N2OTyv9+71dD7e1o/L5+2wdi/r2+m83SjVHU+Hu0D6c3jfX7ebHex//vq4r+9P59fLdjMM3e4v+Pxxv3113/Lx8rJ+h1V/3I7r7XR+6779PT3jP54/r9df6/t6vnf9djOO3XF9xdN+219/37+v3Y62/ng6worT/esHbPvPkp9f17XT7R+qZXW4HNeP6/6w3vbntxUS6eFnHCr8jNvNej7+f4EKvu18eT38s789dmiv1NiQGuG3FaQR6Z6RGQenomNkAfk6M3LjEHK/MPKASpR9AVB1mVEcB9MryyhhBKMZZUKyr9BKiTfRN8lsJmQYLZCLqYFRHYcYc2lIAT+Xeo4HPAe7FM5FAT9ne+aggF9IlaMrS/sqI+DnPfBqCPg5/UDAzzstK4GfD0YiJERRohM/LfGAXywTM1ITZlblzBkjZPkG/IIPwgj5lcJ5QneGEHteqYGfC1JBDfxCXxIj4BdtEoT8zMKZaeAX1cJZa+Dnp8LxdMCVwkgDP1cK56mBn5usxMtYCeGggV9yVSK0/nGPoAZDrDNXQi8Yb+ZOQyWhEpGjG+xfSawsg/zMxLmAbgZbE58Cahi88bIS+YHgGTk8cxaE/LSVCNi/Uji6wf7pxHka0qdnnUENQJE9q9UU1LVhfgb4haXIyhkrIZU3qM8qWjJ1bJwJWeRXHe+zrX/Mz2qcZsV5WuCnnWjCAr/kHVfeurGxbAj5uUUQ9k+LJizyK0aiA7+kZjkT+KUo9YT6QHSY14YmnAfNdbGoTyVasgutFAT8XKyMIEOoZ+V4Dvkpy2ydxjwDV9Chv1jL3B3wC0E4OIeZBTkT529Jsg/9ZZk4T0f8PPfIJfQCyL2hjCqQ6rqCp4hCHM1flFNmRI/oOH9L5gq6ShGYgyd/iRzPI78i3D3yC5qje/JPUYi3pGvOxZM+xYk89i88UKDqyimR5pa15NFfnGEOnvh5QQWRqNwDvzgH7p9v/ikrUZ9W7gAP/IITbw09uo14a1AUj6MHTR7JeQb0l5K509BV6LviCAH9BW+Jhjxmppl7CMSWKx+wf5PkElCfXroZMjkmVxf8EPYpyQXnz4vTBtJnEA4LuZTEw/4tC0eIqM+iBSG/MvGZEftnRNfRkFpZBRCp+WZDjvxavnmstdyUMaDXTVxBUFhzp4aQXy/TGKl/TqLT/SfOHidyPq5SRH6TlwjET+6jWHGmJV5CfRpxvoT6rDIBSZMzyDfkp73sw/6ZLCsd+Rl3OuH8Wce5JPSXuXKPEvmn9A8cAhjJXZwydZrrmfB+8FZOQX1WuX0T3Q9ZVuL9EMQ1EvqL1vwNao6TwxHAHdExOetM/rLwmdmQC3Oe2ZJrcK0z9U9umezH5vYNBfIJ7ljG+avyJsqJppjrkjPdK4LwfvBS+Yz6zI9cZnwhBYmH/PqJu5kr+QQieMPJUw2fc/T8fLwXD5+3GzwV6ZVKT0R8HJ7O6+Mle71caR//+hdRQ0+wDQplbmRzdHJlYW0NCmVuZG9iag0KMjEgMCBvYmoNCjExNzMgDQplbmRvYmoNCjE2IDAgb2JqDQo8PC9UeXBlIC9Gb250L1N1YnR5cGUgL1RydWVUeXBlL0Jhc2VGb250IC9GQUFBQkcrRmFuZ1NvbmdfR0IyMzEyL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDk5L1dpZHRocyBbNTAwIDAgMCAwIDAgNTAwIDAgMCAwIDAgMCAwIDAgNTAwIDUwMCAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgMCAwIDUwMCAwIDAgMCAwIDAgMCA1MDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTAwIF0vRm9udERlc2NyaXB0b3IgMTcgMCBSPj4NCmVuZG9iag0KMTcgMCBvYmoNCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lIC9GQUFBQkcrRmFuZ1NvbmdfR0IyMzEyL1N0ZW1WIDgwL0Rlc2NlbnQgLTE0MS9Bc2NlbnQgODU5L0NhcEhlaWdodCAwL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvRm9udEJCb3ggWzAgLTE0MSA5OTYgODU1XS9Gb250RmlsZTIgMTEgMCBSPj4NCmVuZG9iag0KMTggMCBvYmoNCjw8L1R5cGUgL0ZvbnQvU3VidHlwZSAvVHJ1ZVR5cGUvQmFzZUZvbnQgL0ZBQUFCSStTaW1TdW4vRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZy9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTY1L1dpZHRocyBbNTAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1MDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTAwIF0vRm9udERlc2NyaXB0b3IgMTkgMCBSPj4NCmVuZG9iag0KMTkgMCBvYmoNCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lIC9GQUFBQkkrU2ltU3VuL1N0ZW1WIDgwL0Rlc2NlbnQgLTE0MS9Bc2NlbnQgODU5L0NhcEhlaWdodCA2ODQvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Gb250QkJveCBbLTggLTE0NSAxMDAwIDg1OV0vRm9udEZpbGUyIDYgMCBSPj4NCmVuZG9iag0KNyAwIG9iag0KPDwvVHlwZSAvRm9udC9TdWJ0eXBlIC9UeXBlMC9FbmNvZGluZyAvSWRlbnRpdHktSC9CYXNlRm9udCAvRkFBQUFIK1NpbVN1bixCb2xkL0Rlc2NlbmRhbnRGb250cyBbOCAwIFJdL1RvVW5pY29kZSAxMCAwIFI+Pg0KZW5kb2JqDQo4IDAgb2JqDQo8PC9UeXBlIC9Gb250L1N1YnR5cGUgL0NJREZvbnRUeXBlMi9CYXNlRm9udCAvRkFBQUFIK1NpbVN1bixCb2xkL0NJRFRvR0lETWFwIC9JZGVudGl0eS9Gb250RGVzY3JpcHRvciA5IDAgUi9EVyAxMDAwL1cgWzFbNTAwXTJbNTAwXTE2WzUwMF1dL0NJRFN5c3RlbUluZm8gPDwvT3JkZXJpbmcoSWRlbnRpdHkpL1JlZ2lzdHJ5KEFkb2JlKS9TdXBwbGVtZW50IDA+Pj4+DQplbmRvYmoNCjkgMCBvYmoNCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lIC9GQUFBQUgrU2ltU3VuLEJvbGQvU3RlbVYgODAvRGVzY2VudCAtMTQxL0FzY2VudCA4NTkvQ2FwSGVpZ2h0IDY4NC9GbGFncyAzMi9J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</fileData><fileType>pdf</fileType><username>10214406000000000378</username><pin>123456</pin><tittle/><keyWord>˰ϱܺژèهւé</keyWord><cx>20</cx><cy>0</cy><sealUrl>http://10.23.11.248:9080/ssm_mysql_standard</sealUrl><isTaxpayer>true</isTaxpayer><certId>1</certId></signTheFirstKeyWordByTaxpayersNum></soapenv:Body></soapenv:Envelope>\r\n" + 
				"";
		return xml;
	}
	
		
	//调用标准的一个参数的webservice接口
	public static void sendXML() throws Exception{
		String address ="http://127.0.0.1:9527/webservice/hello";
		Client client =new Client(new URL(address+"?wsdl"));
		Object[] objs = client.invoke("accessExpand", new Object[] {"99f25b5a7efd462abb8a4022d6fb124e","serviceName","json2object","tran_seq","[{}]",null});
		if(objs!=null) {
			System.out.println(objs[0].toString());
		}
		System.out.println("end");
	}
	
	//调用标准的一个参数的webservice接口
	public static void sendXML1() throws Exception{
		String address ="http://127.0.0.1:9527/webservice/hello";
		Client client =new Client(new URL(address+"?wsdl"));
		Object[] objs = client.invoke("get", new Object[] {"wangzhenhai2"});
		if(objs!=null) {
			System.out.println(objs[0].toString());
		}
		System.out.println("end");
	}
	
	//不带webParam
	public static void sendXML2() throws Exception{
		String address ="http://127.0.0.1:9528/webservice/hello";
		Client client =new Client(new URL(address+"?wsdl"));
		Object[] objs = client.invoke("get", new Object[] {"wangzhenhai2",24,"man"});
		if(objs!=null) {
			System.out.println(objs[0].toString());
		}
		System.out.println("end");
	}
	
	//复杂的bean对象
	public static void sendXML3() throws Exception{
		String address ="http://127.0.0.1:9529/webservice/hello";
		Client client =new Client(new URL(address+"?wsdl"));
		BaseReqBean reqBean=new BaseReqBean();
		reqBean.setAge(24);
		reqBean.setName("wangzhenhai3");
		reqBean.setUuid("我是reqBean的UUID");
		Object[] objs = client.invoke("get", new Object[] {""});
		if(objs!=null) {
			System.out.println(objs[0].toString());
			BaseResBean resBean=(BaseResBean) objs[0];
			System.out.println(resBean.getAge()+" "+resBean.getName()+" "+resBean.getUuid());
		}
		System.out.println("end");
	}
	
	private static void sendBaseXML() throws MalformedURLException, Exception {
		Client client = new Client(new URL("http://172.16.0.168:7101/gt3aipservice/Gt3AipWebService?wsdl"));
		String xmlStirng="<service xmlns=\"http://www.chinatax.gov.cn/spec/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n" + 
				"    <head>\r\n" + 
				"        <tran_id>DNSW.ZJSMBS.SMBS.RLSBFORWB</tran_id>\r\n" + 
				"        <channel_id>TYGZPT</channel_id>\r\n" + 
				"        <tran_seq>123213214321421423142</tran_seq>\r\n" + 
				"        <tran_date>20190825</tran_date>\r\n" + 
				"        <tran_time>163900000</tran_time>\r\n" + 
				"    </head>\r\n" + 
				"    <body><![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" + 
				"<taxML>\r\n" + 
				" <swjgDm>14400000000</swjgDm>\r\n" + 
				" <sfzjlxDm>201</sfzjlxDm>\r\n" + 
				" <zpnr/>\r\n" + 
				" <xm>测试</xm>\r\n" + 
				" <gjhdqDm>201</gjhdqDm>\r\n" + 
				" <zjznr/>\r\n" + 
				" <sfzjhm>350102199111111435</sfzjhm>\r\n" + 
				"</taxML>]]></body>\r\n" + 
				"</service>";
		Object[] results = client.invoke("sendBaseXMLEsbWebService", new Object[] {xmlStirng});
		Object obj=results[0];
//		DocumentImpl d;
		Document d=(Document)obj;
		Element e = d.getDocumentElement();
//		String result = e.getTextContent();
//		System.out.println(obj.getClass().getName()+"=="+result);
//		Map<String,String> map=new TransformByMatchcharacters().xmls2Map(obj);
//		System.out.println(map.toString());
	}
	//com.sun.org.apache.xerces.internal.dom.DocumentImpl
	public static Map<String,Object> xmls2Map(Object res) throws Exception{
		Map<String,Object> map=new HashMap<String,Object>();
		if(res instanceof org.apache.xerces.dom.DocumentImpl) {
			NodeList list=((org.apache.xerces.dom.DocumentImpl) res).getChildNodes();
			String str=list.item(0).getFirstChild().toString();
			list.item(0).getFirstChild().getNodeValue();
			System.out.println("list"+str);
			System.out.println("list"+str);
			String body = getTotalMidValue(list.item(0).getFirstChild().getNodeValue(), "<body>", "</body>");
			String returncode=getTotalMidValue(body, "<returncode>", "</returncode>");
			String returnmessage=getTotalMidValue(body, "<returnmessage>", "</returnmessage>");
			map.put("returnmessage", returnmessage);
			map.put("returncode", returncode);
			System.out.println(body);
		}else {
			throw new Exception("调用webservice接口返回类型异常");
		}
		return map;
		
	}
	
	
	  public static String getTotalMidValue(String source,String priStr,String suxStr){
	    	if (source == null)
	    		return null;
	    	int iFirst = source.indexOf(priStr);
	    	int iLast = source.lastIndexOf(suxStr);
	        if(iFirst<0||iLast<0)
	        	return null;
	        int beginIndex=iFirst+priStr.length();
	        return source.substring(beginIndex, iLast);
	  }
}
